using System;
using System.Collections.Generic;
using Sustainalytics.Entities.Governance;

namespace Sustainalytics.Governance.BusinessLogic.PdfMetadata
{
    public interface IGovernancePdfMetadataManager
    {
        bool UpdateGovernancePdfProfileMetadata(GovernancePdfProfileMetadataDto pdfProfile, string userName);

        List<GovernancePdfProfileMetadataDto> GetProfileByCompany(Guid companyId, string hostUrl);

        void DeletePdfMetadataFile(Guid companyId, GovernancePdfType governancePdfType);

        void DeletePdfInsightFile(Guid fileId);

        bool SaveFileInS3(string fileName, string governancePdfType, byte[] fileContentByteArray);

        bool ExportAllReportsToS3(GovernancePdfType governancePdfType);

        byte[] LoadFileFromS3(Guid companyId, string governancePdfType);
    }
}